package com.ruoyi.system.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

@NoArgsConstructor
@Data
public class HfuPayResultJsonWxVo {

//    {
//        "bank_code": "SUCCESS",
//            "pay_info": "{\"appId\":\"wx628300e827d81d58\",\"timeStamp\":\"1725868533\",\"nonceStr\":\"82412bf6c6304ed4980e6dd4c95217fd\",\"package\":\"prepay_id=wx091555335034654cb62fe642fa2ba10001\",\"signType\":\"RSA\",\"paySign\":\"qmG8yhUuqf6fK1sGV/mYztIJh6cJTepC5lwtPk5U9RlikTUkpzTHsoVG21EWnO6SHpb20bD+0ywn6VF/BTLF29NW91Hz/s8Htw159x2aVtT9/2vwtFI+kMKjEvyuGN13bz1/hDp2RQW6XVYh8A8/6w3n2KRrSF8THtjkKRcJcBW0Y3RC5ckiMn5gbKpkhAr0Tmdd+iM6KSAvFloC8UtIQ8a/0R8DagMbi0VzZgE2LYnflDuxbucF/W6lBTnOeicXqjFKcBBaTlLJq0WsXGou//7RMNMBXy/W5HbcdzSBTy5wf7wBGa5mOuG/3jBn8wz0mwsZx1iOZjogFsHbkwc5GA==\"}",
//            "resp_desc": "下单成功",
//            "trans_stat": "P",
//            "bank_message": "成功",
//            "hf_seq_id": "002900TOP2A240909155533P160ac139c3000000",
//            "remark": "",
//            "trans_amt": "99.00",
//            "party_order_id": "03242409095733329500862",
//            "unconfirm_amt": "98.31",
//            "req_seq_id": "20240909155531485mtmr4txcb4d9dm",
//            "req_date": "20240909",
//            "resp_code": "00000100",
//            "trade_type": "T_JSAPI",
//            "huifu_id": "6666000154854867",
//            "is_clean_split": "N",
//            "atu_sub_mer_id": "683394809"
//    }

    @JsonProperty("bank_code")
    private String bankCode;
    @JsonProperty("pay_info")
    private PayInfo payInfo;
    @JsonProperty("resp_desc")
    private String respDesc;
    @JsonProperty("trans_stat")
    private String transStat;
    @JsonProperty("bank_message")
    private String bankMessage;
    @JsonProperty("hf_seq_id")
    private String hfSeqId;
    @JsonProperty("remark")
    private String remark;
    @JsonProperty("trans_amt")
    private String transAmt;
    @JsonProperty("party_order_id")
    private String partyOrderId;
    @JsonProperty("unconfirm_amt")
    private String unconfirmAmt;
    @JsonProperty("req_seq_id")
    private String reqSeqId;
    @JsonProperty("req_date")
    private String reqDate;
    @JsonProperty("resp_code")
    private String respCode;
    @JsonProperty("trade_type")
    private String tradeType;
    @JsonProperty("huifu_id")
    private String huifuId;
    @JsonProperty("is_clean_split")
    private String isCleanSplit;
    @JsonProperty("atu_sub_mer_id")
    private String atuSubMerId;

    @NoArgsConstructor
    @Data
    class PayInfo {

        @JsonProperty("appId")
        private String appId;
        @JsonProperty("timeStamp")
        private String timeStamp;
        @JsonProperty("nonceStr")
        private String nonceStr;
        @JsonProperty("package")
        private String packageX;
        @JsonProperty("signType")
        private String signType;
        @JsonProperty("paySign")
        private String paySign;
    }
}
